package org.adoxx.pn; import java.util.ArrayList; import java.util.HashMap; public class PetriNet implements java.io.Serializable{ private static final long serialVersionUID = 3426953988681102210L; private String name; private ArrayList
placeList = new ArrayList
();
private ArrayList startList = new ArrayList ();
private ArrayList endList = new ArrayList ();
private ArrayList getPlaceList_safe(){ return (ArrayList ) placeList.clone(); }
public ArrayList getPlaceList(){ return placeList; }
@SuppressWarnings("unchecked")
public ArrayList getStartList_safe(){ return (ArrayList ) startList.clone(); }
public ArrayList getStartList(){ return startList; }
@SuppressWarnings("unchecked")
public ArrayList getEndList_safe(){ return (ArrayList ) endList.clone(); }
public ArrayList getEndList(){ return endList; }
@SuppressWarnings("unchecked")
public ArrayList ();
for(P place:placeList)
if(place.nextList.isEmpty())
newEndList.add(place);
this.endList = newEndList;
}
private void updateStartList(){
ArrayList newStartList = new ArrayList ();
for(P place:placeList)
if(place.numToken>0)
newStartList.add(place);
this.startList = newStartList;
}
public void updateStartListCheckingFlow(){
ArrayList newStartList = new ArrayList ();
for(P place:placeList)
if(place.numToken>0)
newStartList.add(place);
else
if(place.previousList.isEmpty()){
place.numToken = 1;
newStartList.add(place);
}
this.startList = newStartList;
}
/*
public static void main(String[] args) {
try {
PetriNet pn = new PetriNet("test");
PL p0 = pn.addPlace("p0", 1);
TR t0 = pn.addTransition("t0");
PL p1 = pn.addPlace("p1");
TR t1 = pn.addTransition("t1");
//PL p2 = pn.addPlace("p2");
pn.connect(p0, t0);
//pn.connect(p0, t1);
pn.connect(t0, p1);
pn.connect(p1, t1);
//pn.connect(t1, p2);
//pn.delTransition(t0);
//pn.delPlace(p1);
pn.finalizeModel();
System.out.println(PNExport.exportTo_PNML(pn));
} catch (Exception e) {
e.printStackTrace();
}
}
*/
}